home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 701-725 / 703 / mpe / mpe.doc < prev    next >
Text File  |  1995-03-18  |  18KB  |  474 lines

  1.  
  2.             *** Modula-2 Programming Environment Version 1.17 ***
  3.  
  4.                          © Copyright 1992 DigiSoft
  5.                     written in Modula-2 version 4.0d  by
  6.                             Marcel Timmermans
  7.  
  8.  
  9.  
  10. DISCLAIMER
  11. ----------------------------------------------------------------------------
  12. The  author is  NOT  responsible  for the  suitability  or accuracy  of this
  13. documentation and/or  the program(s) it describes.  Any damage sustained  by
  14. the use or misuse of  this documentation  and/or the program(s) it describes
  15. is the responsibility of the user her/him self.
  16. ----------------------------------------------------------------------------
  17.  
  18. COPYRIGHT
  19. ----------------------------------------------------------------------------
  20. MPE, © Copyright 1992 by DigiSoft.  All rights reserved.  This program may
  21. be  distributed  non-commercially only providing that the documentation and
  22. copyright  notice  remains  intact  and are included with the distribution.
  23. This  program  is  Public  Domain  so  no  financial donation is necessary.
  24. ----------------------------------------------------------------------------
  25.  
  26.  
  27.  
  28. INTRODUCTION
  29. ----------------------------------------------------------------------------
  30.  
  31. This is a program to make work easier for making a program with M2Amiga.
  32.  
  33. How many times you have typed m2c <program name>, if there is any error
  34. m2emacs <program name>, m2c .. m2l etc. offcource you can use m2make but
  35. than again you have to give all the switches you want to use ( no debug,
  36. Minimum Arts etc.)
  37.  
  38. I have tried to make a program that supports all kinds of neccacery options
  39. to build a program. I hope you like it.
  40.  
  41. Features:
  42.  
  43.     o - Settings are kept by every project.
  44.     o - After an error during compiling an editor will be called
  45.     o - you can edit a report file for your program
  46.     o - you can set 'every' options for the M2Amiga V4.0 Compiler and Linker
  47.     o - Also you can use M2Make
  48.     o - You can run your program from MPE.
  49.     o - Creates an autoheader if you want it.
  50.     o - A special version with the use of Reqtools.library
  51.     o - You can load M2POOL from MPE
  52.     o - And the most important its FREE
  53.  
  54.  
  55. REQUIREMENTS
  56. ----------------------------------------------------------------------------
  57. MPE was programmed in M2Amiga V4.0d on an Amiga 3000 Kick 2.0 with 4 MB
  58. memory and a 100MB harddisk but it should run on a standard 512 KB machine.
  59. MPE ,about 70 KB, needed about 120 KB memory. However do you want a good use
  60. you need at least 1.0 MB memory.
  61. It's is tested on kickstart 1.2, 1.3 and 2.0.  It's only tested with
  62. M2Amiga V4.0, So i don't know if it works with earlier versions.  If not
  63. please let me know.
  64. ----------------------------------------------------------------------------
  65.  
  66.  
  67. INSTALLATION
  68. ----------------------------------------------------------------------------
  69.  
  70. MPE should be working with all kickstarts verions.
  71.  
  72. At the moment you can't use MPE from the workbench at kickstart 1.2 / 1.3
  73. if you want to use it from the WB then use IconX at kickstart 1.2 / 1.3
  74.  
  75. MPE is easy to install, just copy it to the directory m2:
  76.  
  77. When you run MPE at the first time you get a default setting choosed by
  78. myself. But you can change you default setup and save it. By using the pull-
  79. down menu settings - save default.
  80.  
  81. NOTE: 
  82.  
  83.  If you have settings saved with version 1.0 you can't use them anymore
  84.  because there is a lot changed in the settings file.
  85.  
  86.  
  87.  
  88. ----------------------------------------------------------------------------
  89. HOW TO USE
  90. ----------------------------------------------------------------------------
  91. It's not very diffecult to use, but here is an explanation for the menus.
  92.  
  93. PROJECT MENU
  94. ----------------------------------------------------------------------------
  95. This menu consists of the following items:
  96.  
  97.  Load Project: <right Amiga P>
  98.  
  99.  Function    : Here you can load your direcory where the program is standing
  100.                witch you want to use. (f.e. DH0:M2/MPE do not choose the
  101.                subdir's txt, bin, obj, sym or txt. The program sees this by
  102.                it's self.
  103.  
  104.  Load Main   : <right Amiga ?>
  105.  
  106.  Function    : Here you can load your main program.
  107.  
  108.  Load Module : <right Amiga O>
  109.  
  110.  Function    : Here you can load your module.  If you don't have a module you
  111.                don't need to load something.
  112.  
  113.  Resident    :
  114.  
  115.  Function    : At the sub-items you can set M2C, M2L or/and M2Make resident.
  116.             This information shall also be saved to the config file.
  117.             At the end of the program i remove all the program's of
  118.             the resident list.
  119.             I do this with the command "resident", so it must exist.
  120.  
  121.  About       :
  122.  
  123.  Function    : Here you find the information about the program, author, 
  124.                version etc.
  125.  
  126.  Quit        : <right Amiga Q>
  127.  
  128.  Function    : This item you need if you want to leave the program.
  129.             A requester ask's to save settings or quit or cancel.
  130.             You can also use a letter.
  131.             'Y' for quit
  132.             'M' for Save & Quit
  133.             'N' for Cancel
  134.                 This is only if you use the standard version 
  135.                 Not for the version with reqtools.library
  136.  
  137.  
  138. EDITOR MENU
  139. ----------------------------------------------------------------------------
  140. This menu consists of the following items:
  141.  
  142.  MP/MOD      : <right Amiga E>
  143.  
  144.  Function    : When you choose this item an editor (the want you choose in
  145.                settings) will be started with the active file.
  146.  
  147.  A File      : <right Amiga />
  148.  
  149.  Function    : When you choose this item the program put an file requester
  150.                on the window and you can choose any file you want to edit.
  151.  
  152.  A File      : <right Amiga R>
  153.  
  154.  Function    : When you choose this item the program loads a report file
  155.                into the editor with the main module name.report.
  156.  
  157.  Get *E      : <right Amiga F>
  158.  
  159.  Function    : This item finds an error file produced by M2C. It's specialy
  160.                for when you choose build (M2make).
  161.                A file requester disappear on the screen and shows all the
  162.                file's which have an error. When you load this file it will
  163.                be automaticaly the Module file and or if it is the main
  164.                file the main file will be loaded.
  165.  
  166.  Doc File    :
  167.  
  168.  Function    : When you choose this item the program loads a <MainName>.DOC
  169.             file in the editor from the project directory.
  170.  
  171.  
  172. COMPILER MENU
  173. ----------------------------------------------------------------------------
  174. This menu consists of the following items:
  175.  
  176.  MP/MOD      : <right Amiga C>
  177.  
  178.  Function    : When you choose this item the program compiles the active file.
  179.                (main or module)
  180.  
  181.  Options     :
  182.  
  183.  Function    : In a sub item menu you can set your options for the M2Amiga
  184.                V4.0 compiler. At the last sub-item menu you can give your
  185.                own options.
  186.  
  187. LINKER MENU
  188. ----------------------------------------------------------------------------
  189. This menu consists of the following items:
  190.  
  191.  MP/MOD      : <right Amiga L>
  192.  
  193.  Function    : When you choose this item the program links everything.
  194.                If the main file is changed it compiles first the main file.
  195.                If the second file or .def file is changed it compiles first
  196.                the second file. if every goes right than the linker will be
  197.                started. (Yust try to see )
  198.  
  199.  NOTE        : If the program has more sub modules THEY WON'T COMPILE IF
  200.                THEY ARE CHANGED THEREFOR YOU NEED TO CHOOSE MAKE.
  201.  
  202.  Options     :
  203.  
  204.  Function    : In a sub item menu you can set your options for the M2Amiga
  205.                V4.0 linker. At the last sub-item menu you can give your own
  206.                options.
  207.  
  208. RUN MENU
  209. ----------------------------------------------------------------------------
  210. This menu consists of the following items:
  211.  
  212.  Go Main     : <right Amiga G>
  213.  
  214.  Function    : When you choose this item the program compile if nessecery,
  215.                linked everything together end run the program.
  216.  
  217.  Argument    : <right Amiga A>
  218.  
  219.  Function    : In this item you can give your arguments
  220.  
  221.  
  222. SETTINGS MENU
  223. ----------------------------------------------------------------------------
  224. This menu consists of the following items:
  225.  
  226.  Change Ext. : <right Amiga M> and <right Amiga D>
  227.  
  228.  Function    : In the sub-items you can choose between a .mod file or a .def
  229.                file.
  230.  
  231.  Workfile    : <right Amiga 1> and <right Amiga 2>
  232.  
  233.  Function    : In the sub-items you can choose between the main file and
  234.                secondfile for making active.
  235.  
  236.  Change
  237.     Settings :
  238.  
  239.  Function    : After choosing this item you get a requester wher you can
  240.                change your default editor, usermenus.
  241.                Furhter you can set the following options on or off:
  242.  
  243.                 - Debugger (Must M2Debug loaded or not )
  244.                 - Create a new Default File
  245.                   ( When you type a filename in the filerequester, when
  246.                     your load a module or main program, which doesn't exist
  247.                     MPE creates the filename with a default text like:
  248.  
  249.                     MODULE <Name>.MOD
  250.  
  251.                     BEGIN
  252.                      CLOSE
  253.                     END <Name>.
  254.  
  255.                     When you choose the a module the program makes a '.mod'
  256.                     and a '.def' file.
  257.                     You can switch this option on or off.
  258.                   )
  259.                 - Change CONST AutoVersion
  260.                   ( When there is a header created, and only then, AutoVersion
  261.                     can be changed to the latest version.
  262.                     You must use something like this
  263.                       CONST AutoVersion = '1.0'; CONST AutoVersion = "1.0";
  264.                     The text is case depended, so if you use AUTOVERSION the
  265.                     program don't find the CONST.
  266.                     Also you must use a text Constant, NOT AutoVersion = 1.0;
  267.                     So you choose the menuitem CreateHeader then the program
  268.                     creates a header for you if it doesn't exist.
  269.                     if the header exist the program asks you for the update
  270.                     text and for a version number.
  271.                     This version number coms in the constant AutoVersion.
  272.                     So it's only usable when a header was created.
  273.                     You can switch this option on or off.
  274.                   )
  275.                 - Make Backup File
  276.                   ( When the program creates a header, you can make a backup
  277.                     called <Name>.BK!. This for when something goes wrong.
  278.                     I don't hope so.
  279.                     So i'am not responsible when your source file is broken.
  280.                     Please Switch this on.
  281.                     If your use the program a long time and it never failed
  282.                     at this item, you can switch it off.
  283.                     If anything goes wrong, please let me now.
  284.                   )
  285.  
  286.                 - M2Pool loaded at start
  287.                   ( When you select this item M2pool shall be loaded )
  288.  
  289.  Load
  290.     Settings : <right Amiga ->
  291.  
  292.  Function    : Here you can load your project settings.
  293.  
  294.  Save
  295.     Settings : <right Amiga +>
  296.  
  297.  Function    : Here you can save your project settings.
  298.  
  299.  Save
  300.     Default  :
  301.  
  302.  Function    : Here you can save your default settings.
  303.                This contains: - Compiler, Linker and M2Make options
  304.                               - Sort editor
  305.                               - User Menu
  306.                               - Debugger On/Off
  307.                               - Create a new default file On/Off
  308.                               - Change  CONST 'AutoVersion' On/Off
  309.                               - Create backup file bu AutoHeader On/Off
  310.                               - Rsident options
  311.  
  312.   NOTE       : The main and second file name shall not be saved.
  313.  
  314.  
  315. SPECIAL MENU  (* Oohps I forgot this at the first release and there was a
  316.                  mayor bug in it. Sorry ! *)
  317. ----------------------------------------------------------------------------
  318. This menu consists of the following items:
  319.  
  320.  Shell       : <right Amiga S>
  321.  
  322.  Function    : Here you can start the Command Line Interface.
  323.                This menu item executes 'NewShell', so it must exist. and
  324.                the program must find it. Otherwhise it will not executed.
  325.  
  326.  User 1      : <right Amiga !>
  327.  
  328.  Function    : Here the program execute your file out the Setting Menu.
  329.                You can use something like 'C:list bin/' or whatever you want.
  330.  
  331.  User 2      : <right Amiga @>
  332.  
  333.  Function    : Here the program execute your file out the Setting Menu.
  334.  
  335.  User 3      : <right Amiga #>
  336.  
  337.  Function    : Here the program execute your file out the Setting Menu.
  338.  
  339.  Execute     : <right Amiga X>
  340.  
  341.  Function    : At this item the program ask you with a StringRequester
  342.                what you want to execute.
  343.  
  344.  InfoHeader  : <right Amiga I>
  345.  
  346.  Function    : Here you can fill in your default header info.
  347.                This mean when you creates your first header.
  348.                The name is depended from the active file.
  349.  
  350.  CreateHeader: <right Amiga H>
  351.  
  352.  Function    : This item creates the header at the active file.
  353.                If the header exists a few things happend.
  354.                - A requester asks for the new version number.
  355.                - A requester asks for the update string.
  356.                - When AutoVersion is on the version number in the
  357.                  Constance 'AutoVersion' shall be changed.
  358.                  If CONST AutoVersion = '1.0' And you fill in the
  359.                  string requester 1.1 then you get
  360.                  CONST AutoVersion = '1.1'.
  361.                  By the way if you use (*# AutoHeader:=FALSE *)
  362.                  Please put this in the top of your file
  363.                  the program doesn't create a header file.
  364.                  You must use '(*#', '#' stands for MPE options.
  365.  
  366. Example Header (like idea from Jan van der Baard, Thanks Jan )
  367.  
  368. (*#-- BEGIN AutoRevision header, please do NOT edit!
  369. *
  370. *   Program         :   MPE.mod
  371. *   Copyright       :   1992 ©, DigiSoft
  372. *   Author          :   Marcel Timmermans
  373. *   Address         :   Holthuizerdreef 13, 6852 JH HUISSEN, HOLLAND
  374. *   Creation Date   :   21-12-1991
  375. *   Current version :   1.06
  376. *   Translator      :   M2Amiga 4.0d
  377. *
  378. *   REVISION HISTORY
  379. *
  380. *   Date          Version         Comment
  381. *   ---------     -------         ------------------------------------------
  382. *   25-04-1992     0.8            First test Option
  383. *   05-05-1992     0.9               Changed requesters, Compile generator
  384. *   09-05-1992     1.0              First Release
  385. *   23-05-1992     1.01           Changed mayor bug in run program
  386. *   23-05-1992     1.02           Added AutoRevision Header
  387. *   23-05-1992     1.03           Change Settings window with more options
  388. *   26-05-1992     1.05           Make a headerparser and changed settings
  389. *   27-05-1992     1.06           Changed create default write for files
  390. *
  391. *-- END AutoRevision header --*)
  392.  
  393. I hope your like it.
  394.  
  395.  
  396. So you know the menus and now you can load your project, main module, second
  397. module, compiling, linking , building etc.
  398.  
  399.  
  400.  
  401. ----------------------------------------------------------------------------
  402. KNOWN BUGS
  403. ----------------------------------------------------------------------------
  404.  o - Input and output for a running program works not good.
  405.      ( I don't now how to change this)
  406.  o - When sizing the window at KickStart 1.2 and 1.3 the text doesn't scroll
  407.      in the window anymore, this is not always but sometimes.
  408.      I don't know why.
  409.  
  410.  
  411. ----------------------------------------------------------------------------
  412.  FUTURE CHANGES
  413. ----------------------------------------------------------------------------
  414.      o Remove the bug's offcource
  415.      o Also started from Wb at all versions of kickstart.
  416.      o Running M2Project from MPE.
  417.      o Making compatibler so that you can also use it for oberon.
  418.  
  419. If you have more suggestions, please let me know.
  420.  
  421.  
  422.  
  423. -REVSION HISTORY-
  424.  
  425. ****************************************************************************
  426. *
  427. *   REVISION HISTORY
  428. *
  429. *   Date          Version         Comment
  430. *   ---------     -------         ------------------------------------------
  431. *   25-04-1992     0.8            First test Option
  432. *   05-05-1992     0.9               Changed requesters, Compile generator
  433. *   09-05-1992     1.0              First Release
  434. *   23-05-1992     1.01           Changed mayor bug in run program
  435. *   23-05-1992     1.02           Added AutoRevision Header
  436. *   23-05-1992     1.03           Change Settings window with more options
  437. *   26-05-1992     1.05           Make a headerparser and changed settings
  438. *   27-05-1992     1.06           Changed create default write for files
  439. *   28-05-1992     1.07           Optimized some routines
  440. *   28-05-1992     1.08           added resident options
  441. *   28-05-1992     1.09           Added .doc optie by editor
  442. *   30-05-1992     1.10           Remove lock bug, free one lock to much
  443. *   31-05-1992     1.11           Remove Ref opt., changed options routine
  444. *   07-06-1992     1.12           Remove Mayor bug from LoadSettings
  445. *                                 Remove some bug's for A3000 use
  446. *   08-06-1992     1.13           Changed some minor bugs in Settings
  447. *   13-06-1992     1.14           Added Reqtools library options
  448. *   15-06-1992     1.15           Added some error routines
  449. *   25-06-1992     1.16           Added m2pool option
  450. *   01-07-1992     1.17           Changed routine QuitM2pool
  451.  
  452.  
  453. The author,
  454.  
  455. My english is not very good, so i hope you will accept my bad writing.
  456. If you find bugs, or you have ideas to make the program more user-friendly,
  457. please report to me at the following address:
  458.  
  459.                                             Marcel Timmermans
  460.                                             Holthuizerdreef 13
  461.                                             6852 JH, Huissen (gld)
  462.                                             Holland.
  463.  
  464.  
  465. Please, if you like (or don't) the program or you make use of it let me now.
  466.  
  467. Greeting's to
  468.                 - Fridtjof Siebert
  469.                 - Jan van den Baard
  470.                 - Dr. Maybe 
  471.                 - Lars Van Jeurissen
  472.                 - A+LAG for M2Amiga.
  473.         - Fred Fish for his great job.
  474.